package Ali;

/**
 * 给定一个非负整数 n，计算各位数字都不同的数字 x 的个数，其中 0 ≤ x < 10n 。
 * 最佳是动态规划
 * @author le
 */
public class Test26
{
    public static void main(String[] args)
    {

    }

    /**
     * 排列组合
     * @param n
     * @return
     */
    public static int countNumbersWithUniqueDigits(int n) {

        if(n == 0){
            return 1;
        }
        n = Math.min(10, n);
        int ans = 10;
        int base = 9;
        int sum = 9;
        for (int i = 1;i < n;++i){
            ans += sum *= base--;
        }

        return ans;
    }


}
